
#pragma once

class RenderTarget
{
	// Note: Remember to always have the correct GL context when calling RenderTarget functions
	//       It will not set it for you, for obvious performance reasons. 

	public:
		
		RenderTarget( u_int uWidth, u_int uHeight );
		~RenderTarget();

		void Bind() const;
		void UnBind() const;

		void BindAsTexture() const;

		void FullWindowRender() const;

	private:
		
		RenderTarget(){}

		u_int m_uFBOHandle;
		u_int m_uColorTexture;
		u_int m_uDepthRenderbuffer;

		u_int m_uWidth;
		u_int m_uHeight;
};

// eof
